1. Field of the Invention
The present invention relates generally to interactive video delivery mediums such as interactive television. More particularly, the present invention relates to a system and method for the simultaneous transmission and rendition of multiple MPEG-encoded digital video signal streams in an interactive television application.
2. Description of Related Art
Interactive television is an interactive audio/video delivery medium which provides broadcast audiovisual content to a number of subscribers. Interactive television provides broadcast video and audio to users and may also provide a return path for the user to interact with the content, e.g., to make selections or order desired products, etc.
In a television broadcast by a television network, such as a broadcast of a bicycle race, the television network may generate multiple video feeds to the network from various angles of the race or from the various bicyclists, for example. The network may select one or more feeds from the multiple video feeds and broadcast the selected video feed(s) to the viewing audience at any given point in time. As is evident, each viewer does not have the option to individually select which video feeds are to be rendered simultaneously for viewing.
A point-to-point network can enable each viewer to select the video feeds to be rendered simultaneously from a set of available video feeds. In the point-to-point network such as in an on-line environment, each viewer may send a request to the head-end server selecting which video feeds the viewer wishes to view. The server may then recompose the screen for each viewer on the head-end and then send to the specific viewer. However, such a point-to-point network or on-line environment requires a significant amount of bandwidth as well as a return path from the viewer site to the head-end server in order for the viewer to send its video selections to the head-end server. Further, such a point-to-point network or on-line environment also requires additional hardware in the head-end server for picture re-composition for each active client.
Another system which can enable each viewer to select the video feeds that the viewer wishes to view from the set of available video feeds is a system having as many decoders in a receiver at the viewer site as individual videos to be rendered simultaneously. For example, if six individual videos are to be rendered simultaneously, the receiver at the viewer site must provide six decoders. However, such a system would require significant processing power in the receiver and increase the cost of the receiver. In addition, the number of videos that can be rendered simultaneously would be limited to the number of decoders provided in the receiver.
Thus, it would be greatly desirable to provide a relatively simple and cost effective system and method for the simultaneous transmission and rendition of multiple encoded digital video signal streams in an interactive television application such that each viewer may select its own set of one or more video feeds from a number of video feeds. Ideally, such a system and method would not require a significant amount of bandwidth or a return path from the viewer site to the head-end server.
Background on MPEG (Moving Pictures Experts Group) compression is presented here in order to facilitate discussion and understanding of the present invention. MPEG compression is a set of methods for compression and decompression of full motion video images which uses interframe and intraframe compression techniques. MPEG compression uses both motion compensation and discrete cosine transform (DCT) processes, among others, and can yield compression ratios of more than 200:1.
The two predominant MPEG standards are referred to as MPEG-1 and MPEG-2. The MPEG-1 standard generally concerns inter-field data reduction using block-based motion compensation prediction (MCP), which typically uses temporal differential pulse code modulation (DPCM). The MPEG-2 standard is similar to the MPEG-1 standard but includes extensions to cover a wider range of applications. As used herein, the term xe2x80x9cMPEGxe2x80x9d refers to MPEG-1, MPEG-2, and/or any other suitable MPEG-standard compression and decompression techniques.
An MPEG stream includes three types of pictures or frames, referred to as the Intra (I) frame, the Predicted (P) frame, and the Bi-directional Interpolated (B) frame. The I or Intra frames contain the video data for the entire frame of video and are typically placed every 10 to 15 frames. Intra frames provide entry points into the file for random access, and are generally only moderately compressed. Predicted frames are encoded with reference to a past frame, i.e., a prior Intra frame or Predicted frame. Thus P frames only include changes relative to prior I or P frames. In general, Predicted frames receive a fairly high amount of compression and are used as references for future Predicted frames. Thus, both I and P frames are used as references for subsequent frames. Bi-directional pictures include the greatest amount of compression and require both a past and a future reference in order to be encoded. Bi-directional frames are not used as references for other frames.
An MPEG encoder divides respective frames into a grid of 16 by 16 pixel squares called macroblocks. The respective frames are divided into macroblocks in order to perform motion estimation/compensation. Each picture is comprised of a plurality of slices. The MPEG standard defines a slice as a contiguous sequence of 2 or more macroblocks (16xc3x9716 pixel blocks) that begin and end on the same row of macroblocks. A slice begins with a slice start code and includes information indicating the horizontal and vertical location where the slice begins in the picture.
A system and method for the simultaneous transmission and rendition of multiple encoded digital video signal streams in an interactive television application are disclosed. It should be appreciated that the present invention can be implemented in numerous ways, including as a process, an apparatus, a system, a device, a method, or a computer readable medium such as a computer readable storage medium or a computer network wherein program instructions are sent over optical or electronic communication lines. Several inventive embodiments of the present invention are described below.
The method for simultaneous rendering of multiple encoded video streams at a user site generally comprises modifying at least one of the multiple encoded video streams broadcast from a broadcast center for repositioning at least one of the multiple encoded video stream for display, interleaving the modified multiple encoded video streams comprising the at least one modified encoded video stream into a single composite interleaved video stream, and outputting the single composite video stream. The method may further comprise receiving the multiple encoded video streams from a broadcast center or via cable, satellite, MMDS, or terrestrial networks.
In one preferred embodiment, the method further comprises receiving a list of encoded video streams available for simultaneous rendering and optionally receiving user input from a user at the user site, the user input including the multiple encoded video streams selected from the list of encoded video streams available for simultaneous rendering. The user input may further include a display location for each of the multiple encoded video streams. The modifying may utilize the user input display locations for each of the multiple encoded video streams for repositioning the at least one of the multiple encoded video stream for display. Alternatively, the modifying may utilize a default display location for each of the multiple encoded video streams for repositioning the at least one of the multiple encoded video stream for display. For example, the default display locations for the multiple encoded video streams may be static values stored in the interactive decoder or receiver, determined by layout rules (such as HTML layout engine style) as applied by the interactive decoder, and/or any other suitable methods for determining default display locations. The layout rules may be modified by the producer on the fly at the production center and be transmitted to the receiver for rendering.
The method may further include decoding the single composite interleaved video stream prior to the outputting. The outputting may include outputting to a display for displaying the single composite interleaved video stream as a video display, the video display comprising a display of each of the modified multiple encoded video streams including a repositioned display of each of the at least one modified encoded video stream. Further, each of the multiple encoded video streams is preferably encoded using MPEG-1 or MPEG-2 compression technology.
In another preferred embodiment, the method generally comprises receiving multiple encoded video streams broadcast from a broadcast center for display, selecting at most one of the multiple encoded video streams for each display location, interleaving the selected video streams into a single composite interleaved video stream, and outputting the single composite video stream. In particular, each of the multiple encoded video streams is configured for display in one of a plurality of display locations, where each display location covers a subportion of a display and where the multiple encoded video streams include a plurality of encoded video streams for at least one of the display locations.
A system for simultaneous rendering of multiple encoded video streams generally comprises an interactive decoder adapted to modify at least one of the multiple encoded video streams broadcast from a broadcast center for repositioning the at least one of the multiple encoded video stream for display, interleave the modified multiple encoded video streams comprising the at least one modified encoded video stream into a single composite interleaved video stream, and output the single composite video stream.
The system may further comprise a user interface in communication with the interactive decoder and adapted to receive user input from a user. The user input generally includes the multiple encoded video streams selected from the list of encoded video streams available for simultaneous rendering, wherein the interactive decoder is further adapted to receive the user input from a user via the user interface. In addition, the system may comprise a display for displaying the single composite interleaved video stream as a video display, wherein the video display comprises a video of each of the modified multiple encoded video streams including a repositioned video of each of the at least one modified encoded video stream.
An interactive decoder for simultaneous rendering of multiple encoded video streams, comprising means for modifying at least one of the multiple encoded video streams broadcast from a broadcast center for repositioning the at least one of the multiple encoded video stream for display, means for interleaving the modified multiple encoded video streams comprising the at least one modified encoded video stream into a single composite interleaved video stream, and means for outputting the single composite video stream.
An example of an application for the system and method described herein is a personalized EPG (electronic program guide) mosaic. With the personalized EPG mosaic, a plurality of the end user""s favorite shows is displayed, based upon a personalized list, for example. The end user may optionally select a subset from the plurality of the displayed screens or video feeds.
These and other features and advantages of the present invention will be presented in more detail in the following detailed description and the accompanying figures which illustrate by way of example the principles of the invention.